﻿using NP.BPMReportPlatform.RecurringJobs.Dto;
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Threading.Tasks;
using static Google.Protobuf.WellKnownTypes.Field;

namespace NP.BPMReportPlatform.RecurringJobs
{
    public interface ISFSyncJob
    {
        /// <summary>
        /// 根据员工工号获取审批信息
        /// </summary>
        /// <param name="workNumber">工号</param>
        /// <returns></returns>
        List<UserFetchDto> GetCommonRoleUser(string workNumber);

        /// <summary>
        /// 通用接口：同步DOA审批角色相关数据
        /// </summary>
        /// <returns></returns>
        Task<string> SyncSFData();

        /// <summary>
        /// 同步HANA数据
        /// </summary>
        /// <returns></returns>
        Task SyncHanaData();

        /// <summary>
        /// 发送-未签合同提醒
        /// </summary>
        /// <returns></returns>
        Task SyncSendEmail();

        /// <summary>
        /// 推送合同
        /// </summary>
        /// <param name="contractCode"></param>
        /// <returns></returns>

        string PushContractToSF(string contractCode);

        /// <summary>
        /// 推送合同
        /// </summary>
        /// <param name="contractCode"></param>
        /// <returns></returns>
        Task<string> PushContractChangeToSF(string contractCode);

        /// <summary>
        /// 同步HANA主数据
        /// </summary>
        /// <returns></returns>
        Task<object> SyncHanaUserAsync(string workNumber);
    }
}
